// localStorage  存取
export const getItem = (name) => {
    const data = uni.getStorageSync(name) || ""

    try {
        return JSON.parse(data)
    } catch (err) {
        return data
    }
}

export const setItem = (name, value) => {
    if (typeof value === 'object') {
        value = JSON.stringify(value)
    }
    uni.setStorageSync(name, value)
}

export const removeItem = (name) => {
    uni.removeStorageSync(name)
}

//- 路由鉴权
//- navigateTo, redirectTo 只能打开非 tabBar 页面。
//- switchTab 只能打开 tabBar 页面。
// -reLaunch  关闭所有页面，打开到应用内的某个页面。
// 页面底部的 tabBar 由页面决定，即只要是定义为 tabBar 的页面，底部都有 tabBar。
// 不能在 App.vue 里面进行页面跳转
let whiteList = ['pages/login/index','pages/login/register']; //-白名单
export const hasPermission = (url, name = 'token') => {
    let routes = getCurrentPages(); // 获取当前打开过的页面路由数组  第一个元素为首页，最后一个元素为当前页面。
    let curRoute = routes[routes.length - 1].route // 获取当前页面路由，也就是最后一个打开的页面路由

    // console.log(routes);
    // console.log(curRoute);
    url = curRoute ? curRoute : '';
    // console.log(whiteList.includes(url));
    // console.log( getItem(name));
    if (whiteList.includes(url) || getItem(name)) {
        return true
    }

    // 过期的话跳转到登录页面
    uni.reLaunch({
        url: '/pages/login/index'
    })
    // uni.showToast({
    //     title: '登录过期',
    //     icon: 'none',
    //     duration: 3000,
    //     mask: true
    // })
    return false
}